BSDCan2017 - 0722d
BSDCan 2017
The Technical BSD Conference
Speakers | |
---|---|
Matt Ahrens |
Schedule | |
---|---|
Day | Talks #1 - 9 June - 2017-06-09 |
Room | DMS 1140 |
Start time | 13:30 |
Duration | 01:00 |
Info | |
ID | 854 |
Event type | Lecture |
Track | Invited Talks |
Language used for presentation | English |
Building products based on OpenZFS, using channel programs
Integrating OpenZFS into a product requires programmatic administration - writing a program to tell ZFS to create filesystems, set properties, and destroy snapshots. This talk introduces a new API for doing so: OpenZFS Channel Programs (aka “zfs program” or “ZCP”). User-defined compound operations with flexible error handling can be executed quickly and atomically. The desired semantics are expressed by writing a script in a new domain-specific language based on Lua. The kernel atomically executes the script in a safe environment.
This talk will cover:
- examples of when channel programs are especially helpful
- how to write channel programs
- how channel programs are implemented internally
- safeguards implemented to prevent problems with running an interpreted program in the kernel
- how Delphix has used channel programs to improve performance and fix bugs
- why we called it “channel programs”
This talk will not cover:
- channel partner programs
- Using VARs to maximize your sales